home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / System / MRAC / Lengths / Generate / g-tuplet2 < prev    next >
Text File  |  1998-08-11  |  3KB  |  76 lines

  1. g-tuplet2 seed low high type rest-position length-value tuplet-value
  2.  
  3. rest: n = non, l = last, f = first, c = center, o = outer r = random.
  4. type: d = divide r = random, m = max.
  5.  
  6. 0 in tuplet-value list is rest.
  7.  
  8. This function enables the generation of tuplet note-length values from a list of integers. In the first two examples below the tuplet-value creates tuplet groups according to the length-value value of 1/4: quintuplet, triplet, triplet, quintuplet. The choice of tuplet grouping is governed by the type, here set at random.
  9.  
  10. (g-tuplet2 nil 1 2 'r 'n 4 '(5 3 0 5))
  11. => ((1/20 3/20 1/20) (1/6 1/12) (-4/1) (1/20 1/20 1/20 1/10))
  12.  
  13. (g-tuplet2 nil 1 2 'r 'n '1/4 '(5 3 3 5))
  14. => ((1/20 1/5) (1/12 1/6) (1/6 1/12) (1/20 1/20 3/20))
  15.  
  16. (g-tuplet2 nil 1 2 'r 'c '1/4 '(5 7 4 5))
  17. => ((1/20 -1/20 -1/20 1/20 1/20) (1/14 1/28 1/28 -1/28 -1/28 1/28)
  18.     (1/8 -1/16 1/16) (1/20 1/20 -1/20 1/10))
  19.  
  20. (g-tuplet2 nil 1 2 'r 'o 4 '(5 7 4 5))
  21. => ((-1/20 1/10 1/20 -1/20) (-1/28 -1/28 1/14 1/14 -1/28)
  22.     (-1/16 1/16 -1/16 -1/16) (-1/20 -1/20 1/20 -1/20 -1/20))
  23.  
  24. (g-tuplet2 nil 1 2 'r 'r 4 '(5 3 3 5))
  25. => ((3/20 -1/20 -1/20) (1/12 -1/12 -1/12) (-1/12 1/6) (1/5 -1/20))
  26.  
  27. (g-tuplet2 nil 1 2 'r 'f 4 '(5 3 3 5))
  28. => ((-1/20 -1/20 -1/20 1/20 1/20) (-1/12 -1/12 1/12) (-1/12 1/12 1/12)
  29.     (-1/20 1/20 1/20 1/10))
  30.  
  31. (g-tuplet2 nil 1 2 'r 'l 4 '(5 3 3 5))
  32. => ((1/20 3/20 -1/20) (1/6 -1/12) (1/6 -1/12) (1/20 1/20 1/20 -1/20 -1/20))
  33.  
  34. (g-tuplet2 nil 1 5 'r 'n 4 '(5 3 3 5))
  35. => ((1/20 1/5) (1/12 1/6) (1/4) (1/5 1/20))
  36.  
  37. In the next example the type is set to 'm', thus requesting the generation of tuplets to their maximum numerical grouping. 
  38.  
  39. (g-tuplet2 nil 1 5 'm 'n 4 '(5 3 3 5))
  40. => ((1/20 1/20 1/20 1/20 1/20) (1/12 1/12 1/12)
  41.     (1/12 1/12 1/12) (1/20 1/20 1/20 1/20 1/20))
  42.  
  43. When set to 'd' the type divides up the tuplet values into additive groupings, thus (1/12 1/12 1/12) might become (1/12 1/6) or (1/6 1/12) and so on.
  44.  
  45. (g-tuplet2 nil 1 2 'd 'r 4 '(5 3 3 5))
  46. => ((1/10 1/20 -1/20 -1/20) (1/6 -1/12) (1/6 -1/12) (-1/20 1/20 1/20 1/10))
  47.  
  48. (g-tuplet2 .23 1 3 'r 'f 4 '(5 3 4 5))
  49. => ((-1/20 -1/20 -1/20 1/10) (-1/12 1/6) (-1/16 -1/16 1/8)
  50.     (-1/20 -1/20 -1/20 -1/20 1/20))
  51.  
  52. (g-tuplet2 .23 1 3 'd 'n '(4 8 8) '(5 3 4 5))
  53. => ((1/10 1/20 1/10) (1/24 1/12) (1/16 1/16) (1/20 3/20 1/20))
  54.  
  55. (g-tuplet2 nil 2 3 'd 'l '(4 8 8) '(5 3 4 5))
  56. => ((1/10 -1/20 -1/20 -1/20) (1/12 -1/24) (1/16 -1/32 -1/32) (3/20 -1/20 -1/20))
  57.  
  58. (g-tuplet2 .56 1 2 'd 'r '(4 8 8) '(5 3 0 5))
  59. => ((-1/20 1/10 1/10) (1/12 -1/24) (-1/8) (1/10 -1/20 1/10))
  60.        
  61. (g-tuplet2 0.23 1 5 '(d r)
  62.             (flatten (rotate-fc 7 '(f f c r n n c c o)))
  63.             (flatten (rotate-fc 7 '(4 4 8 8)))
  64.             (flatten (rotate-fc 7 '(3 5 5 0 4 5 5 3))))
  65.  
  66. (g-tuplet2 nil 1 3 'd
  67.           '(f n l n l n n r n n f n n f n f f)                                                                                                           
  68.           '(4 4 4 8 8 4 4 4 4 4 4 8 8 4 4 4 4)
  69.           '(5 1 8 4 0 3 0 5 1 1 5 4 4 3 3 5 5))
  70.  
  71. (g-tuplet1 nil 1 3
  72.           '(d r r  d m  r m d d d m  r m  d r r d)
  73.           '(f n c  n l  n n r n n n  f n  n n f f)                                                                                                           
  74.           '(4 4 4 (8 8) 4 4 4 4 4 4 (8 8) 4 4 4 4)
  75.           '(5 1 8  4 3  4 0 5 5 3 5  5 4  0 3 5 5))
  76.